package com.yonyougov.devops.cruxcisupport.user;

import com.yonyougov.devops.cruxcisupport.user.vo.UserMailVo;
import com.yonyougov.devops.cruxcisupport.user.vo.UserPageLikeDto;
import com.yonyougov.devops.cruxcisupport.user.vo.UserPageLikeVo;
import com.yonyougov.devops.fwc.core.dao.BaseDao;

import java.math.BigInteger;
import java.util.List;
import java.util.Set;

/**
 * t_user数据层
 */
public interface UserDao extends BaseDao<UserEntity, BigInteger> {
    //<!--用户自定义代码开始-->
    List<UserPageLikeVo> findByPageLike(UserPageLikeDto userPageLikeVoParams);

    int countByLikeUser(UserPageLikeDto userPageLikeReqVoParams);

    String findPublicKeyByUserId(BigInteger userId);

    UserEntity findByPrimaryKey(BigInteger id);

    /**
     * 根据用户Id 批量查询
     *
     * @param userIds
     * @return
     */
    List<UserEntity> findByIds(Set<BigInteger> userIds);

    /**
     * 邮箱列表
     *
     * @return
     */
    List<UserMailVo> mailList();

    //<!--用户自定义代码结束-->
}
